A tunneling technology is a manner of transferring data between networks through Internet infrastructure, and the data transferred by using a tunnel may be a data frame or a data package of different protocols. The tunneling technology obtains a tunnel packet by encapsulating a tunnel packet header on an outer layer of the data frame or data package of different protocols on a tunnel ingress device, and forwards the tunnel packet between devices at two ends of the tunnel through a public Internet. Once the tunnel packet arrives at an egress device of the tunnel, the tunnel packet is decapsulated and forwarded to a final destination. In a whole transfer process, a logical path through which the tunnel packet is transferred in the public Internet is referred to as the tunnel. The tunneling technology is a whole process including encapsulation, transmission and decapsulation of the data.
However, compared with the original data frame or data package, length of the tunnel packet is increased. When forwarded in the tunnel, if a MTU of an intermediate link of the tunnel is smaller than the tunnel packet, the tunnel packet is fragmented. Fragmented packets need to be reassembled when arriving at a tunnel egress device after being forwarded, so as to obtain the complete tunnel packet and then perform tunnel decapsulation. Generally, when the fragmented packets are reassembled, an associated fragmented packet is identified according to a triplet formed of a source Internet Protocol (Internet Protocol, IP for short) address, a destination IP address and an identifier in the packet header. Because tunnel packets forwarded by the same tunnel are all added with the same tunnel packet header, their triplets are the same, so that when the fragmented packets are reassembled, the associated fragmented packet cannot be correctly identified. Therefore, when the fragmented packets are reassembled, mismatching is generated, resulting in an error tunnel packet.